s1_read_last_two_bytes_of_a_mbr_backup_file(){
  local file_path=$1
  local last_bytes=$(tail -c 2 "$file_path" | od -A n -t x1 | tr -d '\n')
  if [ "$last_bytes" = "55aa" ];then
echo "YES"
  else
echo "NO"
  fi
}

s2_read_mbr_partition_table_info(){
  echo -n 'echo "ibase=16; 800" | bc'
  echo -n ' '
  local mbr_backup_file=$1
  for i in {0..3}; do
      local offset=$((446 + i * 16))
      local partition_entry=$(od -j $offset -N 16 -t x1 -An "mbr_backup_file" | tr -d '\n')
      local partition_type=$(echo $patrition_entry | cut -c 9-10)
      if [ "$partition_type" != "00" ];then
        local start_sector_hex=$(echo $partition_entry | cut -c 17-24 | tr '[:lower:]''[:upper:]')
        local start_sector=$(echo "ibase=16;$start_sector_hex" | bc)
        local end_sector_size_hex=$(echo$partition_entry | cut -c 33-40 | tr '[:lower:]''[:upper:]')
        local end_sector_size=$(echo "ibase=16;$end_sector_size_hex" | bc)
        local end_sector=$((start_sector + end_sector_size - 1))
        if [ $i -eq 0 ];then
           echo -n "$end_sector"
           echo -n "$start_sector"
          else
           echo -n "$end_sector"
          fi
       fi
     done

}

s3_parse_partition_info(){
     fdisk_output=$(cat)
     disk_size_bytes=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $5}')
     disk_size_sectors=$(echo "$fdisk_output" | grep "Disk /dev/vda:" | awk '{print $7}')
     physical_sector_size=$(echo "$fdisk_output" | grep "Sector size" | awk '{print $4}')
     first_partition_start_sector=$(echo "$fisk_output" | grep "/dev/vda1" | awk '{print $3}')
     first_partition_end_sector=$(echo "$fdisk_output" | grep "/dev/vda1" | awk '{print $4}')
     fisrt_partition_type=$(echo "$fdisk_output" | grep "/dev/vda1" | awk '{print $8}')
     echo "disk size in bytes:$disk_size_bytes"
     echo "disk size in sectors:$disk_size_sectors"
     echo "physical sector size in bytes:$physical_sector_size"
     echo "first partition start sector id:$first_partition_start_sector"
     echo "first partition end sector id:$first_partition_end_sector"
     echo "first partition type:$first_partition_type"
}

s4_run_passwd_as_plain_user_and_get_status(){
  oversleeping_path=$(which oversleeping)
 chown root "$overslpeeing_path"
 chmod 755 "$oversleeping_path"
$oversleeping_path & ps -o uid,euid,ruid -C 'oversleeping' | awk 'NR>1 {print $1","$2","$3}'

}

s5_add_a_scheduled_task(){
 （crontab -l 2>/dev/null; echo "$date +'\%Y\%m\%d_\%H\%M\%S' >> $HOME/test_crontab") | crontab
}


